技術問答
技術文章
iT 徵才
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2024 iThome 鐵人賽
DAY
23
0
自我挑戰組
學習Java且應用
系列 第
23
篇
Java 注解(下)
16th鐵人賽
pinggg
2024-10-07 13:07:59
553 瀏覽
分享至
自定義注解
(1)除了內置的注解,Java還允許我們創建自定義注解。自定義注解本質上是一個接口,並且可以包含成員變量,這些成員變量必須有默認值或在使用時被指定。
(2)eg.
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
// 定義自定義注解
@Retention(RetentionPolicy.RUNTIME) // 指定該注解在運行時可見
@Target(ElementType.METHOD) // 指定該注解用於方法
public @interface MyAnnotation {
String value();
}
class TestAnnotation {
@MyAnnotation(value = "This is a custom annotation")
public void myMethod() {
System.out.println("Method with custom annotation");
}
}
注解詳解:
(1) @Retention:定義注解的生命週期。常見的值包括:
RetentionPolicy.SOURCE:注解僅存在於源代碼中,編譯後將被丟棄。
RetentionPolicy.CLASS:注解存在於字節碼中,但在運行時不可見。
RetentionPolicy.RUNTIME:注解在運行時仍然存在,可以通過反射獲取。
(2)@Target:定義注解可以應用的元素。常見的取值有:
ElementType.TYPE:類、接口或枚舉。
ElementType.METHOD:方法。
ElementType.FIELD:字段。
注解處理
自定義注解通常與反射結合使用,用於在運行時讀取和處理這些注解。
留言
追蹤
檢舉
上一篇
Java 注解(上)
下一篇
Java 文件輸入輸出(I/O)(上)
系列文
學習Java且應用
共
30
篇
目錄
RSS系列文
訂閱系列文
0
人訂閱
26
Java 文件輸入輸出(I/O)(下)
27
Java 應用一
28
Java 應用二
29
Java 應用三
30
總結
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19855
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
Gemini是否能存成檔案???我是付費使用者
跨平台網頁元件只能開放管理者使用權限才能用??
Gmail 中開啟 Gemini?? 如何回信???Google AI Pro 付費使用者
在VSCode使用 Gemini Code Assist但被限制
netlogon 服務啟用
居易vigor 2920無法登入後台??
居易2920Vigor Route vlan 設定,P1可以上網.P2-P4無法上網
NEC 總機記憶卡價格
熱門回答
跨平台網頁元件只能開放管理者使用權限才能用??
Gemini是否能存成檔案???我是付費使用者
居易vigor 2920無法登入後台??
居易2920Vigor Route vlan 設定,P1可以上網.P2-P4無法上網
netlogon 服務啟用
熱門文章
當老牌 ERP 廠商拒簽資安承諾:企業導入 ISO 27001 的供應鏈管理困境與對策
一個月從 61 到 161 commits:Claude Code 如何讓我同時推進 6 個專案
Leetcode 大神資源總整理與 VS Code 刷題IDE環境配置
整合 Gemini AI 的 LINE Bot - 雲端情人實作 (四) 程式架構
懶人版的 Wireshark ,NetworkMiner,可以直接幫你還原 Data Password
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}